/**
 * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
 */
package com.jeesite.modules.zx.examination.ticket.entity;

import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.jeesite.common.mybatis.annotation.JoinTable;
import com.jeesite.common.mybatis.annotation.JoinTable.Type;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;

/**
 * 准考证号Entity
 * @author zpp
 * @version 2020-03-22
 */
@Table(name="t_examination_ticket", alias="a", columns={
		@Column(name="id", attrName="id", label="考生编号", isPK=true),
		@Column(name="user_id", attrName="userId", label="用户标识"),
		@Column(name="exam_id", attrName="examId", label="考试标识"),
		@Column(name="sex", attrName="sex", label="性别"),
		@Column(name="exam_name", attrName="examName", label="考试名称", queryType=QueryType.LIKE),
		@Column(name="student_name", attrName="studentName", label="考生姓名", queryType=QueryType.LIKE),
		@Column(name="id_card", attrName="idCard", label="身份证号"),
		@Column(name="office_name", attrName="officeName", label="考生单位名称", queryType=QueryType.LIKE),
		@Column(name="office_id", attrName="officeId", label="单位标识"),
		@Column(name="theory_starttime", attrName="theoryStarttime", label="考试开始时间"),
		@Column(name="theory_endtime", attrName="theoryEndtime", label="考试结束时间"),
		@Column(name="exam_point", attrName="examPoint", label="考点"),
		@Column(name="exam_room", attrName="examRoom", label="考场名称"),
		@Column(name="seat_num", attrName="seatNum", label="座位号"),
		@Column(name="room_address", attrName="roomAddress", label="考场地址"),
		@Column(name="actual_address", attrName="actualAddress", label="考场地址"),
		@Column(name="actual_starttime", attrName="actualStarttime", label="实操开始时间"),
		@Column(name="actual_endtime", attrName="actualEndtime", label="实操结束时间"),
		@Column(name="head_portrait", attrName="headPortrait", label="头像"),
		@Column(name="vip_id", attrName="vipId", label="考试人员标识"),
		@Column(name="scene", attrName="scene", label="场次"),
	}, orderBy="a.id DESC"
)
public class TexaminationTicket extends DataEntity<TexaminationTicket> {
	
	private static final long serialVersionUID = 1L;
	private String userId;		// 用户标识
	private String examId;		// 考试标识
	private String examName;		// 考试名称
	private String studentName;		// 考生姓名
	private String idCard;		// 身份证号
	private String officeName;		// 考生单位名称
	private String officeId;		// 单位标识
	private Date theoryStarttime;		// 考试开始时间
	private Date theoryEndtime;		// 考试结束时间
	private String examPoint;		// 考点
	private String examRoom;		// 考场名称
	private Long seatNum;		// 座位号
	private Date actualStarttime;		// 实操开始时间
	private Date actualEndtime;		// 实操结束时间
	private String headPortrait,vipId,scene,actualAddress,roomAddress;		// 头像
	
	public String getActualAddress() {
		return actualAddress;
	}

	public void setActualAddress(String actualAddress) {
		this.actualAddress = actualAddress;
	}

	public String getRoomAddress() {
		return roomAddress;
	}

	public void setRoomAddress(String roomAddress) {
		this.roomAddress = roomAddress;
	}

	private String sex;
	
	public String getScene() {
		return scene;
	}

	public void setScene(String scene) {
		this.scene = scene;
	}

	public String getVipId() {
		return vipId;
	}

	public void setVipId(String vipId) {
		this.vipId = vipId;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public TexaminationTicket() {
		this(null);
	}

	public TexaminationTicket(String id){
		super(id);
	}
	
	@Length(min=0, max=50, message="用户标识长度不能超过 50 个字符")
	public String getUserId() {
		return userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}
	
	@Length(min=0, max=50, message="考试标识长度不能超过 50 个字符")
	public String getExamId() {
		return examId;
	}

	public void setExamId(String examId) {
		this.examId = examId;
	}
	
	@Length(min=0, max=50, message="考试名称长度不能超过 50 个字符")
	public String getExamName() {
		return examName;
	}

	public void setExamName(String examName) {
		this.examName = examName;
	}
	
	@Length(min=0, max=50, message="考生姓名长度不能超过 50 个字符")
	public String getStudentName() {
		return studentName;
	}

	public void setStudentName(String studentName) {
		this.studentName = studentName;
	}
	
	@Length(min=0, max=50, message="身份证号长度不能超过 50 个字符")
	public String getIdCard() {
		return idCard;
	}

	public void setIdCard(String idCard) {
		this.idCard = idCard;
	}
	
	@Length(min=0, max=250, message="考生单位名称长度不能超过 250 个字符")
	public String getOfficeName() {
		return officeName;
	}

	public void setOfficeName(String officeName) {
		this.officeName = officeName;
	}
	
	@Length(min=0, max=50, message="单位标识长度不能超过 50 个字符")
	public String getOfficeId() {
		return officeId;
	}

	public void setOfficeId(String officeId) {
		this.officeId = officeId;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getTheoryStarttime() {
		return theoryStarttime;
	}

	public void setTheoryStarttime(Date theoryStarttime) {
		this.theoryStarttime = theoryStarttime;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getTheoryEndtime() {
		return theoryEndtime;
	}

	public void setTheoryEndtime(Date theoryEndtime) {
		this.theoryEndtime = theoryEndtime;
	}
	
	@Length(min=0, max=100, message="考点长度不能超过 100 个字符")
	public String getExamPoint() {
		return examPoint;
	}

	public void setExamPoint(String examPoint) {
		this.examPoint = examPoint;
	}
	
	public String getExamRoom() {
		return examRoom;
	}

	public void setExamRoom(String examRoom) {
		this.examRoom = examRoom;
	}

	public Long getSeatNum() {
		return seatNum;
	}

	public void setSeatNum(Long seatNum) {
		this.seatNum = seatNum;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getActualStarttime() {
		return actualStarttime;
	}

	public void setActualStarttime(Date actualStarttime) {
		this.actualStarttime = actualStarttime;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getActualEndtime() {
		return actualEndtime;
	}

	public void setActualEndtime(Date actualEndtime) {
		this.actualEndtime = actualEndtime;
	}
	
	@Length(min=0, max=255, message="头像长度不能超过 255 个字符")
	public String getHeadPortrait() {
		return headPortrait;
	}

	public void setHeadPortrait(String headPortrait) {
		this.headPortrait = headPortrait;
	}
	
}